package class1.s2022350143027.service;

import class1.s2022350143027.data.GoodsData;
import class1.s2022350143027.model.GoodsModel;

import java.sql.SQLException;

/**
 * 库存管理业务逻辑接口，必须继承该接口并实现方法
 *
 * @author yzy
 * @date 2024-05-2
 */

public interface YzyGoodsService {

    /**
     * 商品集合返回
     */
    GoodsData getGoodsData();

    /**
     * 商品查找
     * @param lookGood_name 根据商品名称查询
     */
    void find_goods(String lookGood_name);

    /**
     * 商品写入
     * @param goodsBaseModel 根据商品单个模型写入
     */
    boolean save(GoodsModel goodsBaseModel);

    /**
     * 商品更新
     * @param goodId 根据商品编号查找
     * @param number_choice 根据数量修改（正数加库存数量，负数减库存数量）
     */
    void update(String goodId,int number_choice);

    /**
     * 商品删除
     * @param lookGood_id 根据商品编号对应删除
     */
    boolean delete(String lookGood_id) throws SQLException;

    /**
     * 商品库展示
     */
    void show();


    /**
     * 我新加的逻辑,退出时把数据写入txt中
     */
    boolean SaveDataToTxt();


    /**
     * 我新加的逻辑,退出时把数据写入sql库中
     */
    boolean SaveDataToSql();


    /**
     *  从sql中删除对应商品
     */
    boolean DeleteDataFromSql(GoodsModel myModel) throws SQLException;


    /**
     *  从sql中载入商品
     */
    boolean LoadDataFromSql() throws SQLException;



}
